/*
 * @Description:
 * @Author: mxy
 * @Date: 2022-12-10 09:37:59
 * @LastEditors: mxy
 * @LastEditTime: 2022-12-10 14:55:19
 */
// 1. 导入所需的包
import Vue from 'vue'
import Vuex from 'vuex'

// 2. 将Vuex注册为Vue的插件
Vue.use(Vuex)

// 3. 创建 store 实例对象
const store = new Vuex.Store({
  // 开启严格模式，不允许改数据
  strict: true,
  // 这里存放数据
  state: {
    age: 20
  },
  // mutations是修改state数据的唯一方式，放同步方法
  mutations: {
    updateAge (state, m) {
      state.age = state.age + m
    }
  },
  // 放异步方法
  actions: {
    updateAgeAfter1s (store, n) {
      setTimeout(() => {
        store.commit('updateAge', n)
      }, 1000)
    }
  },
  getters: {
    aaa (state) {
      return state.age * state.age
    }
  }
})

// 4. 导出 store 对象
export default store
